/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package efe.bean;

import java.io.Serializable;

/**
 * Wartość przechowująca numer portu. W późniejszym etapie projektu zastąpiona
 * przez EfeNumberValue.
 * @author Paweł
 */
public class EfePortValue implements EfeValue, Serializable {
    private int port = 0;

    /**
     * Zwraca numer portu (wartość).
     * @return
     */
    public int getPort() {
        return port;
    }

    /**
     * Ustawia domyślnie wartość portu na 80.
     */
    public EfePortValue() { port = 80; }

    public boolean validate(String value) {
        //0 - 65535
        if (!value.matches("[0-9]{1,5}"))  return false;
        int temp = Integer.parseInt(value);
        if (port < 0  && port > 65535) return false;
        port = temp;
        return true;
    }

    public String display() {
        return String.valueOf(port);
    }

    public String getMessage() {
        return "Port musi być liczbą całkowitą od 0 do 65535!";
    }

    public int getValue() {
        return port;
    }

}
